package com.soilflow.common.domain;

import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.soilflow.common.mybatisplus.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 重写竞拍实体类，定时任务需要获取用户信息，不继承mp的特殊字段
@author csh
@date 2023/12/16 - 00:36
*/
@Data
@TableName(value = "land_auction")
public class LandAuction2 {

    @JsonSerialize(using = ToStringSerializer.class)
    @JSONField(deserializeUsing = ToStringSerializer.class)
    @TableId(type = IdType.ASSIGN_ID)
    private  Long  id;

    @TableLogic
    private Integer deleted;

    /** 创建者 */
    private String createBy;

    /** 创建者 */
    private Long createId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 创建者 */
    private Long updateId;


    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 竞拍名称
     */
    @TableField(value = "auction_name")
    private String auctionName;


    /**
     * 竞拍底价
     */
    @TableField(value = "reserve_price")
    private BigDecimal reservePrice;

    /**
     * 面积
     */
    @TableField(value = "area")
    private String area;

    /**
     * 转出期限
     */
    @TableField(value = "out_period")
    private String outPeriod;

    /**
     * 保证金
     */
    @TableField(value = "earnest_money")
    private BigDecimal earnestMoney;

    /**
     * 编码
     */
    @TableField(value = "code")
    private String code;

    /**
     * 主图
     */
    @TableField(value = "main_image")
    private String mainImage;

    /**
     * 详情图
     */
    @TableField(value = "detail_image")
    private String detailImage;

    /**
     * 村
     */
    @TableField(value = "village")
    private String village;

    /**
     * 加价幅度
     */
    @TableField(value = "mark_up")
    private BigDecimal markUp;

    /**
     * 报名开始时间
     */
    @TableField(value = "apply_start")
    private String applyStart;

    /**
     * 报名结束时间
     */
    @TableField(value = "apply_end")
    private String applyEnd;

    /**
     * 竞拍开始时间
     */
    @TableField(value = "auction_start")
    private String auctionStart;

    /**
     * 竞拍结束时间
     */
    @TableField(value = "auction_end")
    private String auctionEnd;

    /**
     * 部门id
     */
    @TableField(value = "dept_id")
    private Long deptId;

    /**
     * 土地id
     */
    @TableField(value = "info_id")
    private Long infoId;

    /**
     * 状态
     */
    @TableField(value = "status")
    private String status;


}